package cn.bobohost.market.service;

import cn.bobohost.market.common.pojo.ResultPageDto;
import cn.bobohost.market.pojo.User;

import java.util.List;

/**
 * 用户的业务层接口
 */
public interface UserDemoService {


    /**
     * 查询所有的用户列表
     * @return
     */
    public List<User> findUserList();


    /**
     * 保存一个用户
     * @param user
     */
    void saveUser(User user);

    /**
     * 根据id更新用户
     * @param user
     */
    void updateUser(User user);

    /**
     * 根据id删除用户
     * @param id
     */
    void deleteUserById(Integer id);

    /**
     * 根据id查询用户
     * @param id
     */
    User findUserById(Integer id);

    /**
     * 根据id查询用户（自定义的）
     * @param id
     * @return
     */
    User findUserByIdCust(Integer id);

    /**
     * 根据用户名模糊查询用户列表
     * @param userName
     * @return
     */
    List<User> findUserListByUserNameLike(String userName);


    /**
     * 查询年龄大于等于某值的，并且，用户名包含某字符串
     * @param age
     * @return
     */
    List<User> findUserListByAgeGte(Integer age,String userName);

    /**
     * 分页列表及
     * @param user
     * @return
     */

    ResultPageDto<User> findUserListPage(User user,int pageNum,int pageSize);
}
